package com.xianshiyue;

import com.scienjus.smartqq.callback.MessageCallback;
import com.scienjus.smartqq.client.SmartQQClient;
import com.scienjus.smartqq.model.DiscussMessage;
import com.scienjus.smartqq.model.Group;
import com.scienjus.smartqq.model.GroupMessage;
import com.scienjus.smartqq.model.Message;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ScienJus
 * @date 2015/12/18.
 */
public class Application {

    public static void main(String[] args) throws InterruptedException, IOException {
        //创建一个新对象时需要扫描二维码登录，并且传一个处理接收到消息的回调，如果你不需要接收消息，可以传null
        SmartQQClient client = new SmartQQClient(new MessageCallback() {
            @Override
            public void onMessage(Message message) {
                System.out.println(message);
            }

            @Override
            public void onGroupMessage(GroupMessage message) {
                System.out.println(message);
            }

            @Override
            public void onDiscussMessage(DiscussMessage message) {
                System.out.println(message);
            }
        });
        //登录成功后便可以编写你自己的业务逻辑了
        List<Group> groups = client.getGroupList();
        List<Group> monitorGroups = new ArrayList<>();
        for (Group group : groups) {
            if (group.getName().contains("微博") && group.getName().contains("互粉")) {
                monitorGroups.add(group);
            }
        }


        new Thread(new SendMessageThread(client, monitorGroups)).start();

        System.out.println("--------------华丽的分割线------------------");
        Thread.sleep(Integer.MAX_VALUE);

        //使用后调用close方法关闭，你也可以使用try-with-resource创建该对象并自动关闭
        try {
            client.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
